Inflatable Air Mattress System With Detection Techniques

ABSTRACT

In one example, this disclosure describes a method including receiving, at a central controller of an air mattress system, a plurality of air pressure value, determining a plurality of average values using the plurality of the received air pressure values, calculating a difference value between a first one of the plurality of average values and a second one of the plurality of average values, comparing the difference value to a threshold value, determining, based on the comparison, whether a user of the air mattress system moved.

This application claims the benefit of priority of U.S. ProvisionalApplication No. 61/781,311 titled, “INFLATABLE AIR MATTRESS SYSTEM WITHDETECTION TECHNIQUES” to Rob Nunn and filed on Mar. 14, 2013, the entirecontent being incorporated herein by reference in its entirety.

CROSS-REFERENCES

The subject matter described in this application is related to subjectmatter disclosed in the following applications: U.S. Application Ser.No. 61/781,266 (Attorney Docket No. 3500.049PRV), filed on Mar. 14,2013, titled “INFLATABLE AIR MATTRESS ALARM AND MONITORING SYSTEM”; U.S.Application Ser. No. 61/781,503 (Attorney Docket No. 3500.050PRV), filedon Mar. 14, 2013, titled “INFLATABLE AIR MATTRESS SYSTEM ARCHITECTURE”;U.S. Application Ser. No. 61/781,541 (Attorney Docket No. 3500.051PRV),filed on Mar. 14, 2013, titled “INFLATABLE AIR MATTRESS AUTOFILL AND OFFBED PRESSURE ADJUSTMENT”; U.S. Application Ser. No. 61/781,571 (AttorneyDocket No. 3500.052PRV), filed on Mar. 14, 2013, titled “INFLATABLE AIRMATTRESS SLEEP ENVIRONMENT ADJUSTMENT AND SUGGESTIONS”; U.S. ApplicationSer. No. 61/782,394 (Attorney Docket No. 3500.053PRV), filed on Mar. 14,2013, titled “INFLATABLE AIR MATTRESS SNORING DETECTION AND RESPONSE”;U.S. Application Ser. No. 61/781,296 (Attorney Docket No. 3500.054PRV),filed on Mar. 14, 2013, titled “INFLATABLE AIR MATTRESS WITH LIGHT ANDVOICE CONTROLS.” The contents of each of the above-references U.S.patent applications are herein incorporated by reference in theirentirety.

TECHNICAL FIELD

This patent document pertains generally to mattresses and moreparticularly, but not by way of limitation, to an inflatable airmattress system.

BACKGROUND

Air bed systems, such as the one described in U.S. Pat. No. 5,904,172which is incorporated herein by reference in its entirety, generallyallow a user to select a desired pressure for each air chamber withinthe mattress. Upon selecting the desired pressure, a signal is sent to apump and valve assembly in order to inflate or deflate the air bladdersas necessary in order to achieve approximately the desired pressurewithin the air bladders.

In various examples, an air mattress control system allows a user toadjust the firmness or position of an air mattress bed. The mattress mayhave more than one zone thereby allowing a left and right side of themattress to be adjusted to different firmness levels. Additionally, thebed may be adjustable to different positions. For example, the headsection of the bed may be raised up while the foot section of the bedstays in place. In various examples, two separate remote controls areused to adjust the position and firmness, respectively.

BRIEF DESCRIPTION OF DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a diagrammatic representation of an air bed system, accordingto an example.

FIG. 2 is a block diagram of various components of the air bed system ofFIG. 1, according to an example.

FIG. 3 is a block diagram of an air bed system architecture, accordingto an example.

FIG. 4 is a block diagram of machine in the example form of a computersystem within which a set instructions, for causing the machine toperform any one or more of the methodologies discussed herein, may beexecuted.

FIG. 5 is a flow diagram depicting an example method of detecting motionof a user of an air mattress, in accordance with various techniques ofthis disclosure.

FIG. 6 is a flow diagram depicting an example method of detecting thepresence of a user of an air mattress, in accordance with varioustechniques of this disclosure.

FIG. 7 is a flow diagram depicting an example method of detecting thepresence of a user of an air mattress, in accordance with varioustechniques of this disclosure.

DETAILED DESCRIPTION

FIG. 1 is a diagrammatic representation of air bed system 10 in anexample embodiment. System 10 can include bed 12, which can comprise atleast one air chamber 14 surrounded by a resilient border 16 andencapsulated by bed ticking 18. The resilient border 16 can comprise anysuitable material, such as foam.

As illustrated in FIG. 1, bed 12 can be a two chamber design having afirst air chamber 14A and a second air chamber 14B. First and second airchambers 14A and 14B can be in fluid communication with pump 20. Pump 20can be in electrical communication with a remote control 22 via controlbox 24. Remote control 22 can communicate via wired or wireless meanswith control box 24. Control box 24 can be configured to operate pump 20to cause increases and decreases in the fluid pressure of first andsecond air chambers 14A and 14B based upon commands input by a userthrough remote control 22. Remote control 22 can include display 26,output selecting means 28, pressure increase button 29, and pressuredecrease button 30. Output selecting means 28 can allow the user toswitch the pump output between the first and second air chambers 14A and14B, thus enabling control of multiple air chambers with a single remotecontrol 22. For example, output selecting means may by a physicalcontrol (e.g., switch or button) or an input control displayed ondisplay 26. Alternatively, separate remote control units can be providedfor each air chamber and may each include the ability to controlmultiple air chambers. Pressure increase and decrease buttons 29 and 30can allow a user to increase or decrease the pressure, respectively, inthe air chamber selected with the output selecting means 28. Adjustingthe pressure within the selected air chamber can cause a correspondingadjustment to the firmness of the air chamber.

FIG. 2 is a block diagram detailing data communication between certaincomponents of air bed system 10 according to various examples. As shownin FIG. 2, control box 24 can include power supply 34, processor 36,memory 37, switching means 38, and analog to digital (A/D) converter 40.Switching means 38 can be, for example, a relay or a solid state switch.Switching means 38 can be located in the pump 20 rather than the controlbox 24.

Pump 20 and remote control 22 can be in two-way communication with thecontrol box 24. Pump 20 can include a motor 42, a pump manifold 43, arelief valve 44, a first control valve 45A, a second control valve 45B,and a pressure transducer 46, and can be fluidly connected with thefirst air chamber 14A and the second air chamber 14B via a first tube48A and a second tube 48B, respectively. First and second control valves45A and 45B can be controlled by switching means 38, and can be operableto regulate the flow of fluid between pump 20 and first and second airchambers 14A and 14B, respectively.

In an example, pump 20 and control box 24 can be provided and packagedas a single unit. Alternatively, pump 20 and control box 24 can beprovided as physically separate units.

In operation, power supply 34 can receive power, such as 110 VAC power,from an external source and can convert the power to various formsrequired by certain components of the air bed system 10. Processor 36can be used to control various logic sequences associated with operationof the air bed system 10, as will be discussed in further detail below.

The example of the air bed system 10 shown in FIG. 2 contemplates twoair chambers 14A and 14B and a single pump 20. However, other examplesmay include an air bed system having two or more air chambers and one ormore pumps incorporated into the air bed system to control the airchambers. In an example, a separate pump can be associated with each airchamber of the air bed system or a pump may be associated with multiplechambers of the air bed system. Separate pumps can allow each airchamber to be inflated or deflated independently and simultaneously.Furthermore, additional pressure transducers can also be incorporatedinto the air bed system such that, for example, a separate pressuretransducer can be associated with each air chamber.

In the event that the processor 36 sends a decrease pressure command toone of air chambers 14A or 14B, switching means 38 can be used toconvert the low voltage command signals sent by processor 36 to higheroperating voltages sufficient to operate relief valve 44 of pump 20 andopen control valves 45A or 45B. Opening relief valve 44 can allow air toescape from air chamber 14A or 14B through the respective air tube 48Aor 48B. During deflation, pressure transducer 46 can send pressurereadings to processor 36 via the A/D converter 40. The A/D converter 40can receive analog information from pressure transducer 46 and canconvert the analog information to digital information useable byprocessor 36. Processor 36 may send the digital signal to remote control22 to update display 26 on the remote control in order to convey thepressure information to the user.

In the event that processor 36 sends an increase pressure command, pumpmotor 42 can be energized, sending air to the designated air chamberthrough air tube 48A or 48B via electronically operating correspondingvalve 45A or 45B. While air is being delivered to the designated airchamber in order to increase the firmness of the chamber, pressuretransducer 46 can sense pressure within pump manifold 43. Again,pressure transducer 46 can send pressure readings to processor 36 viaA/D converter 40. Processor 36 can use the information received from A/Dconverter 40 to determine the difference between the actual pressure inair chamber 14A or 14B and the desired pressure. Processor 36 can sendthe digital signal to remote control 22 to update display 26 on theremote control in order to convey the pressure information to the user.

Generally speaking, during an inflation or deflation process, thepressure sensed within pump manifold 43 provides an approximation of thepressure within the air chamber. An example method of obtaining a pumpmanifold pressure reading that is substantially equivalent to the actualpressure within an air chamber is to turn off pump 20, allow thepressure within the air chamber 14A or 14B and pump manifold 43 toequalize, and then sense the pressure within pump manifold 43 withpressure transducer 46. Thus, providing a sufficient amount of time toallow the pressures within pump manifold 43 and chamber 14A or 14B toequalize may result in pressure readings that are accurateapproximations of the actual pressure within air chamber 14A or 14B. Invarious examples, the pressure of 48A/B is continuously monitored usingmultiple pressure sensors.

In an example, another method of obtaining a pump manifold pressurereading that is substantially equivalent to the actual pressure withinan air chamber is through the use of a pressure adjustment algorithm. Ingeneral, the method can function by approximating the air chamberpressure based upon a mathematical relationship between the air chamberpressure and the pressure measured within pump manifold 43 (during bothan inflation cycle and a deflation cycle), thereby eliminating the needto turn off pump 20 in order to obtain a substantially accurateapproximation of the air chamber pressure. As a result, a desiredpressure setpoint within air chamber 14A or 14B can be achieved withoutthe need for turning pump 20 off to allow the pressures to equalize. Thelatter method of approximating an air chamber pressure usingmathematical relationships between the air chamber pressure and the pumpmanifold pressure is described in detail in U.S. application Ser. No.12/936,084, the entirety of which is incorporated herein by reference.

FIG. 3 is illustrates an example air bed system architecture 300.Architecture 300 includes bed 301, central controller 302, firmnesscontroller 304, articulation controller 306, temperature controller 308in communication with one or more temperature sensors 309, externalnetwork device 310, remote controllers 312, 314, and voice controller316. While described as using an air bed, the system architecture mayalso be used with other types of beds.

As illustrated in FIG. 3, network bed architecture 300 is configured asa star topology with central controller 302 and firmness controller 304functioning as the hub and articulation controller 306, temperaturecontroller 308, external network device 310, remote controls 312, 314,and voice controller 316 functioning as possible spokes, also referredto herein as components. Thus, in various examples, central controller302 acts a relay between the various components.

In yet another example, central controller 302 listens to communications(e.g., control signals) between components even if the communication isnot being relayed through central controller 302. For example, considera user sending a command using remote 312 to temperature controller 308.Central controller 302 may listen for the command and check to determineif instructions are stored at central controller 302 to override thecommand (e.g., it conflicts with a previous setting). Central controller302 may also log the command for future use (e.g., determining a patternof user preferences for the components).

In other examples, different topologies may be used. For example, thecomponents and central controller 302 may be configured as a meshnetwork in which each component may communicate with one or all of theother components directly, bypassing central controller 302. In variousexamples, a combination of topologies may be used. For example, remotecontroller 312 may communicate directly to temperature controller 308but also relay the communication to central controller 302.

In various examples, the controllers and devices illustrated in FIG. 3may each include a processor, a storage device, and a network interface.The processor may be a general purpose central processing unit (CPU) orapplication-specific integrated circuit (ASIC). The storage device mayinclude volatile or non-volatile static storage (e.g., Flash memory,RAM, EPROM, etc.). The storage device may store instructions which, whenexecuted by the processor, configure the processor to perform thefunctionality described herein. For example, a processor of firmnesscontrol 304 may be configured to send a command to a relief valve todecrease the pressure in a bed.

In various examples, the network interface of the components may beconfigured to transmit and receive communications in a variety of wiredand wireless protocols. For example, the network interface may beconfigured to use the 802.11 standards (e.g., 802.11a/b/c/g/n/ac), PANnetwork standards such as 802.15.4 or Bluetooth, infrared, cellularstandards (e.g., 3G/4G etc.), Ethernet, and USB for receiving andtransmitting data. The previous list is not intended to exhaustive andother protocols may be used. Not all components of FIG. 3 need to beconfigured to use the same protocols. For example, remote control 312may communicate with central controller 302 via Bluetooth whiletemperature controller 308 and articulation controller 306 are connectedto central controller using 802.15.4. Within FIG. 3, the lightningconnectors represent wireless connections and the solid lines representwired connections, however, the connections between the components isnot limited to such connections and each connection may be wired orwireless.

Moreover, in various examples, the processor, storage device, andnetwork interface of a component may be located in different locationsthan various elements used to affect a command. For example, as in FIG.1, firmness controller 302 may have a pump that is housed in a separateenclosure than the processor used to control the pump. Similarseparation of elements may be employed for the other controllers anddevices in FIG. 3.

In various examples, firmness controller 304 is configured to regulatepressure in an air mattress. For example, firmness controller 304 mayinclude a pump such as described with reference to FIG. 2 (see e.g.,pump 20). Thus, in an example, firmness controller 304 may respond tocommands to increase or decrease pressure in the air mattress. Thecommands may be received from another component or based on storedapplication instructions that are part of firmness controller 304.

As illustrated in FIG. 3 central controller 302 includes firmnesscontroller 304 and pump 305. Thus, in an example, the processor ofcentral controller 302 and firmness control 304 may be the sameprocessor. Furthermore, the pump may also be part of central controller302. Accordingly, central controller 302 may be responsible for pressureregulation as well as other functionality as described in furtherportions of this disclosure.

In various examples, articulation controller 306 is configured to adjustthe position of a bed (e.g., bed 301) by adjusting the foundation thatsupports the bed. In an example, separate positions may be set for twodifferent beds (e.g., two twin beds placed next to each other). Thefoundation may include more than one zone that may be independentlyadjusted. Articulation control 306 may also be configured to providedifferent levels of massage to a person on the bed.

In various examples, temperature controller 308 is configured toincrease, decrease, or maintain the temperature of a user. For example,a pad may be placed on top of or be part of the air mattress. Air may bepushed through the pad and vented to cool off a user of the bed.Conversely, the pad may include a heating element that may be used tokeep the user warm. In various examples, the pad includes thetemperature sensor 309 and temperature controller 308 receivestemperature readings from the temperature sensor 309. In other examples,the temperature sensor 309 can be separate from the pad, e.g., part ofthe air mattress or foundation.

In various examples, additional controllers may communicate with centralcontroller 302. These controllers may include, but are not limited to,illumination controllers for turning on and off light elements placed onand around the bed and outlet controllers for controlling power to oneor more power outlets.

In various examples, external network device 310, remote controllers312, 314 and voice controller 316 may be used to input commands (e.g.,from a user or remote system) to control one or more components ofarchitecture 300. The commands may be transmitted from one of thecontrollers 312, 314, or 316 and received in central controller 302.Central controller 302 may process the command to determine theappropriate component to route the received command. For example, eachcommand sent via one of controllers 312, 314, or 316 may include aheader or other metadata that indicates which component the command isfor. Central controller 302 may then transmit the command via centralcontroller 302's network interface to the appropriate component. In someexamples, the commands may be transmitted to one or more cloud-basedservers for processing.

For example, a user may input a desired temperature for the user's bedinto remote control 312. The desired temperature may be encapsulated ina command data structure that includes the temperature as well asidentifies temperature controller 308 as the desired component to becontrolled. The command data structure may then be transmitted viaBluetooth to central controller 302. In various examples, the commanddata structure is encrypted before being transmitted. Central controller302 may parse the command data structure and relay the command totemperature controller 308 using a PAN. Temperature controller 308 maybe then configured its elements to increase or decrease the temperatureof the pad depending on the temperature originally input into remotecontrol 312.

In various examples, data may be transmitted from a component back toone or more of the remote controls. For example, the current temperatureas determined by a sensor element of temperature controller 308, e.g.,temperature sensor 309, the pressure of the bed, the current position ofthe foundation or other information may be transmitted to centralcontroller 302. Central controller 302 may then transmit the receivedinformation and transmit it to remote control 312 where it may bedisplayed to the user.

In various examples, multiple types of devices may be used to inputcommands to control the components of architecture 300. For example,remote control 312 may be a mobile device such as a smart phone ortablet computer running an application. Other examples of remote control312 may include a dedicated device for interacting with the componentsdescribed herein. In various examples, remote controls 312/314 include adisplay device for displaying an interface to a user. Remote control312/314 may also include one or more input devices. Input devices mayinclude, but are not limited to, keypads, touchscreen, gesture, motionand voice controls.

Remote control 314 may be a single component remote configured tointeract with one component of the mattress architecture. For example,remote control 314 may be configured to accept inputs to increase ordecrease the air mattress pressure. Voice controller 316 may beconfigured to accept voice commands to control one or more components.In various examples, more than one of the remote controls 312/314 andvoice controller 316 may be used.

With respect to remote control 312, the application may be configured topair with one or more central controllers. For each central controller,data may be transmitted to the mobile device that includes a list ofcomponents linked with the central controller. For example, considerthat remote control 312 is a mobile phone and that the application hasbeen authenticated and paired with central controller 302. Remotecontrol 312 may transmit a discovery request to central controller 302to inquiry about other components and available services, e.g., servicesor components available in the cloud. In response, central controller302 may transmit a list of services that includes available functionsfor adjusting the firmness of the bed, position of the bed, andtemperature of the bed. In various embodiments, the application may thendisplay functions for increasing/decreasing pressure of the airmattress, adjusting positions of the bed, and adjusting temperature. Ifcomponents are added/removed to the architecture under control ofcentral controller 302, an updated list may be transmitted to remotecontrol 312 and the interface of the application may be adjustedaccordingly.

In various examples, central controller 302 is configured as adistributor of software updates to components in architecture 300. Forexample, a firmware update for temperature controller 308 may becomeavailable. The update may be loaded into a storage device of centralcontroller 302 (e.g., via a USB interface, a smartphone over Bluetooth,and from the cloud over WiFi). In wireless applications, the centralcontroller 302 may, for example, receive updates from the cloud eitherfrom wifi or from a mobile connection over Bluetooth. Central controller302 may then transmit the update to temperature controller 308 withinstructions to update. Temperature controller 308 may attempt toinstall the update. A status message may be transmitted from temperaturecontroller 308 to central controller 302 indicating the success orfailure of the update.

In various examples, central controller 302 is configured to analyzedata collected by a pressure transducer (e.g., transducer 46 withrespect to FIG. 2) to determine various states of a person lying on thebed. For example, central controller 302 may determine the heart rate orrespiration rate of a person lying in the bed. Additional processing maybe done using the collected data to determine a possible sleep state ofthe person. For example, central controller 302 may determine when aperson falls asleep and, while asleep, the various sleep states of theperson.

In various examples, external network device 310 includes a networkinterface to interact with an external server for processing and storageof data related to components in architecture 300. For example, thedetermined sleep data as described above may be transmitted via anetwork (e.g., the Internet) from central controller 302 to externalnetwork device 310 for storage. In an example, the pressure transducerdata may be transmitted to the external server for additional analysis.The external network device 310 may also analyze and filter the databefore transmitting it to the external server.

In an example, diagnostic data of the components may also be routed toexternal network device 310 for storage and diagnosis on the externalserver. For example, if temperature controller 308 detects an abnormaltemperature reading (e.g., a drop in temperature over one minute thatexceeds a set threshold) diagnostic data (sensor readings, currentsettings, etc.) may be wireless transmitted from temperature controller308 to central controller 302. Central controller 302 may then transmitthis data via USB to external network device 310. External device 310may wirelessly transmit the information to a WLAN access point where itis routed to the external server for analysis. In some examples, theexternal device 310 can transmit a message to a customer servicedivision to initiate a repair call if necessary.

Example Machine Architecture and Machine-Readable Medium

FIG. 4 is a block diagram of machine in the example form of a computersystem 400 within which instructions, for causing the machine to performany one or more of the methodologies discussed herein, may be executed.In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting instructions (sequential or otherwise) that specify actions tobe taken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The example computer system 400 includes a processor 402 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU), ASIC ora combination), a main memory 404 and a static memory 406, whichcommunicate with each other via a bus 408. The computer system 400 mayfurther include a video display unit 410 (e.g., a liquid crystal display(LCD) or a cathode ray tube (CRT)). The computer system 400 alsoincludes an alphanumeric input device 412 (e.g., a keyboard and/ortouchscreen), a user interface (UI) navigation device 414 (e.g., amouse), a disk drive unit 416, a signal generation device 418 (e.g., aspeaker) and a network interface device 420.

Machine-Readable Medium

The disk drive unit 416 includes a machine-readable medium 422 on whichis stored one or more sets of instructions and data structures (e.g.,software) 424 embodying or utilized by any one or more of themethodologies or functions described herein. The instructions 424 mayalso reside, completely or at least partially, within the main memory404 and/or within the processor 402 during execution thereof by thecomputer system 400, the main memory 404 and the processor 402 alsoconstituting machine-readable media.

While the machine-readable medium 422 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore instructions or data structures. The term “machine-readable medium”shall also be taken to include any tangible medium that is capable ofstoring, encoding or carrying instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of the present invention, or that is capable of storing,encoding or carrying data structures utilized by or associated with suchinstructions. The term “machine-readable medium” shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media. Specific examples of machine-readable mediainclude non-volatile memory, including by way of example semiconductormemory devices, e.g., Erasable Programmable Read-Only Memory (EPROM),Electrically Erasable Programmable Read-Only Memory (EEPROM), and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

Transmission Medium

The instructions 424 may further be transmitted or received over acommunications network 426 using a transmission medium. The instructions424 may be transmitted using the network interface device 420 and anyone of a number of well-known transfer protocols (e.g., HTTP). Examplesof communication networks include a local area network (“LAN”), a widearea network (“WAN”), the Internet, mobile telephone networks, Plain OldTelephone (POTS) networks, and wireless data networks (e.g., WiFi andWiMax networks). The term “transmission medium” shall be taken toinclude any intangible medium that is capable of storing, encoding orcarrying instructions for execution by the machine, and includes digitalor analog communications signals or other intangible media to facilitatecommunication of such software.

Detection Techniques

In addition to the techniques described above, this disclosure isdirected to techniques for detection of various aspects of a user ofsystem architecture 300. As described in more detail below, usersleeping motion, user presence, and/or user sleeping position can bedetected using various techniques described in this disclosure

Regarding sleeping motion detection, the system architecture 300 candetect the motion of a user while the user is sleeping (“sleepingmotion”) and determine from the detected motion the restlessness of theuser. Using the determined restlessness, the system architecture 300and, in particular, the central controller 302 can determine a sleepquality metric, index, number, or the like. In one example, the user canquery the system architecture 300 to retrieve a previously determinedsleep quality metric. In another example, the system architecture 300can determine the sleep quality metric when queried by the user. In yetanother example, the system architecture 300 can automatically, e.g.,without user intervention, determine and report a sleep quality metricto the user, e.g., via a display.

In accordance with this disclosure, the central controller 302 candetect user sleeping motion via pressure changes. For example, thepressure transducer 46 (of FIG. 2) can be used to monitor the airpressure in the air mattress of the bed 301. If the user on the airmattress is not moving, the air pressure in the mattress can besubstantially constant and, as such, the pressure transducer 46 and thecentral controller 302 will measure no significant pressure changes.When the user on the air mattress is moving, however, the air pressurein the mattress can fluctuate and, as such, the pressure transducer 46and the central controller 302 can measure pressure changes. Thus,pressure changes measured by the pressure transducer 46 and the centralcontroller 302 can indicate motion of the user on the air mattress.

In one example implementation, the central controller 302 can executeinstructions that cause the pressure transducer 46 to measure airpressure values at a sample rate. In one example, the central controller302 can store the sampled air pressure values in a memory device. Usinga moving (or rolling) average (or other central tendency), for example,the central controller 302 can determine average (or other centraltendency) air pressure values and then determine whether the user hasmoved on the air mattress based on the rolling average. When the user isstationary, the rolling average will be substantially constant, e.g., nopressure changes. When the user moves, e.g., rolls to the side, the airpressure values may fluctuate, thereby changing the value of the rollingaverage. The central controller 302 can calculate a difference betweenthe rolling average values and determine that the user is moving basedon the calculated difference. In some examples, the central controller302 can initiate a timer using the rolling average values in order todetermine how long the user was moving. For example, the centralcontroller 302 can initiate a timer when the rolling average valueexceeded a specified value and stop the timer when the rolling averagevalue drops below the specified value. The accumulated time of the timerindicates how long the user was restless during their sleep.

As indicated above, the central controller 302 can determine a user'ssleep state, e.g., rapid eye movement (“REM”) or non-rapid eye movement(“NREM”). The central controller 302 can determine a user's sleep stateby using various biometric signals such as heart rate, respiration,and/or movement of the user. Techniques for monitoring a user's sleepusing heart rate information, respiration rate information, and otheruser information are disclosed in U.S. Patent Application PublicationNo. 20100170043 to Steven J. Young et al., titled “APPARATUS FORMONITORING VITAL SIGNS,” the entire content of which is incorporatedherein by reference. Using the techniques described above, the centralcontroller 302 can detect user motion and correlate the detected motionwith a determined sleep state.

FIG. 5 is a flow diagram depicting an example method of detecting motionof a user of an air mattress. In FIG. 5, the central controller 302executes instructions that cause the pressure transducer 46 to measureair pressure values at a sample rate (500). The central controller 302determines rolling average values, for example, based on the measuredair pressure values (502). The central controller 302 calculates adifference value between the rolling average values and determines apressure change based on calculated differences (504). The centralcontroller 302 compares the determined pressure change to a thresholdvalue, e.g., stored in a memory device, and determines that the user ismoving if the determined pressure change is above the threshold value(506). In this manner, the central controller can detect sleeping motionof a user.

In some implementations, the example method shown in FIG. 5 furtherincludes the optional act of the central controller 302 determining asleep state, e.g., REM or NREM, of the user.

In addition to the techniques described above, this disclosure isdirected to techniques for detecting whether a user is present on thebed 301. In one example implementation, the central controller 302 candetect user presence via gross pressure changes. For example, thecentral controller 302 and the pressure transducer 46 (of FIG. 2) can beused to monitor the air pressure in the air mattress of the bed 301. Ifthe user sits or lies down on the air mattress, the air pressure in theair mattress changes, e.g., increases, due to the additional weight ofthe user, which results in a gross pressure change. The centralcontroller 302 can determine whether the user is now on the bed based onthe gross pressure change, e.g., over some time period. For example, bydetermining a rate of change of pressure, e.g., over 1-10 minutes, andcomparing the determined rate of change to a threshold value, thecentral controller can determine whether the user is now on the bed.

Similarly, if the user is on the bed and then gets out of bed, the airpressure in the air mattress changes, e.g., decreases, which results ina gross pressure change. The central controller 302 can determinewhether the user left the bed based on the gross pressure change, e.g.,over some time period. For example, by determining a rate of change ofpressure, e.g., over 1-10 minutes, and comparing the determined rate ofchange to a threshold value, the central controller 302 can determinewhether the user left the bed.

In some example implementations, the techniques for detecting whether auser is present on the bed 301 can be combined with the techniques fordetecting user movement described above. For example, in addition todetermining a rate of change of pressure and comparing the determinedrate of change to a threshold value in order to determine whether theuser is in or out of the bed 301, the central controller 302 can alsouse the rolling average techniques described above to detect usermovement. For instance, if the central controller 302 determines that arate of change of pressure is greater than a threshold value, therebyindicating that a user has either gotten into or out of the bed 301, thecentral controller 302 can further analyze rolling averages of receivedair pressure values from the pressure transducer 46 (of FIG. 2) toconfirm that the user is in the bed 301. If the rolling averagesfluctuate, as would be consistent with movement of the user, then thecentral controller 302 can determine that the user is in the bed 301.

FIG. 6 is a flow diagram depicting an example method of detecting thepresence of a user of an air mattress. In FIG. 6, the central controller302 executes instructions that cause the pressure transducer 46 tomeasure air pressure values at a sample rate (600). The centralcontroller 302 determines a rate of gross pressure change, for example,based on the measured air pressure values (602). Then, the centralcontroller 302 compares the determined rate of change to a thresholdvalue (604). If the central controller 302 determines that the rate ofchange is greater than a threshold value, the central controller 302determines that the user has either transitioned into or out of the bed301. If the rate of change is negative, then the central controllerdetermines that the user has gotten out of bed. In this manner, thecentral controller can detect the presence or absence of a user.

In some examples, the central controller 302 can confirm the presence ofthe user in the bed 301, as shown in the optional steps 606-610 of FIG.6. To determine that the user remains in the bed 301, the centralcontroller 302 determines rolling average values, for example, based onthe measured air pressure values (606). The central controller 302calculates a difference value between the rolling average values anddetermines a pressure change based on calculated differences (608). Thecentral controller 302 compares the determined pressure change to athreshold value, e.g., stored in a memory device, and determines thatthe user is moving if the determined pressure change is above thethreshold value (610). The threshold value may be a static value, e.g.,a specified or fixed value, or a dynamic value, e.g., a value thatadjusts over time.

In some examples, the central controller 302 can detect user presenceusing instantaneous pressure changes. Then, presence can be verified viathe detection of known biometric signals, for example.

In one example implementation, the central controller 302 can detectuser presence using temperature changes detected in the mattress, e.g.,using one or more temperature sensors positioned in or on the mattress.The temperature sensors and the central controller 302 can detect a risein temperature, e.g., over a specified period of time, and determinethat a user is present in the bed. For example, if the centralcontroller 302 detects a rise in temperature and then determines thatthe detected rise in temperature was not caused by the system'stemperature controller 308, the central controller 302 can determinethat the user is present.

In addition to the techniques described above, this disclosure isdirected to techniques for detecting a sleeping position of a user ofthe bed 301, e.g., lying on a side, lying on a back, lying on a front.In one example implementation, the central controller 302 can determinea sleeping position of the user by first detecting user movement, e.g.,via changes in a rolling average, and then a gross pressure change, asdescribed in more detail below.

In one example implementation, the central controller 302 can executeinstructions that cause the pressure transducer 46 to measure airpressure values at a sample rate. In one example, the central controller302 can store the sampled air pressure values in a memory device. Usinga moving (or rolling) average, for example, the central controller 302can determine average (or other central tendency) air pressure valuesand then determine whether the user has moved on the air mattress basedon the rolling average. That is, when the user is stationary, therolling average will be substantially constant, e.g., no pressurechanges. When the user moves, e.g., rolls to the side, the air pressurevalues may fluctuate, thereby changing the value of the rolling average.The central controller 302 can calculate a difference between therolling average values and determine that the user is moving based onthe calculated difference.

Once the movement has substantially stopped, the central controller 302can determine a gross pressure change from the measured air pressurevalues to determine whether the user is on their side, back, or front.That is, because the pressure in an air mattress is different dependingon whether the user is lying on their side, back, or front, the centralcontroller 302 can determine a gross pressure change based on the airpressure in the air mattress before and after the detected movement. Ifthe gross pressure change is positive and within a range of values, thenthe central controller 302 determines that the user has moved from theirback to their side, for example. If the gross pressure change isnegative and within a range of values, then the central controller 302determines that the user has moved from their side to their back, forexample. In this manner, the central controller 302 can determine asleeping position of a user.

In addition, the central controller 302 can use biometric data todetermine a sleeping position of the user. That is, because the receivedrespiration rate signal, heart rate signal, and/or other biometricsignals of the user may be different depending on whether the user islying on their side, back, or front, the central controller 302 candetermine a sleeping position based on the received biometric signals.

FIG. 7 is a flow diagram depicting an example method of detecting thepresence of a user of an air mattress. In FIG. 7, the central controller302 executes instructions that cause the pressure transducer 46 tomeasure air pressure values at a sample rate (700). The centralcontroller 302 determines rolling average values, for example, based onthe measured air pressure values (702). The central controller 302calculates a difference value between the rolling average values anddetermines a pressure change based on calculated differences (704). Thecentral controller 302 compares the determined pressure change to athreshold value, e.g., stored in a memory device, and determines thatthe user is moving, e.g., from their front to their side, if thedetermined pressure change is above the threshold value (706).

The central controller 302 determines a gross pressure change value, forexample, based on the measured air pressure values (708) before andafter the user movement. Then, the central controller 302 compares thedetermined gross pressure change to a range of values (710). If thegross pressure change is positive and within the range of values, thenthe central controller 302 determines that the user has moved from theirback to their side, for example. If the gross pressure change isnegative and within a range of values, then the central controller 302determines that the user has moved from their side to their back, forexample. In this manner, the central controller 302 can determine asleeping position of a user.

Although an embodiment has been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the invention. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense. The accompanying drawings that form a parthereof, show by way of illustration, and not of limitation, specificembodiments in which the subject matter may be practiced. Theembodiments illustrated are described in sufficient detail to enablethose skilled in the art to practice the teachings disclosed herein.Other embodiments may be utilized and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. This Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled. As itcommon, the terms “a” and “an” may refer to one or more unless otherwiseindicated.

1. A method comprising: receiving, at a central controller of an airmattress system, a plurality of air pressure values; determining aplurality of average values using the plurality of the received airpressure values; calculating a difference value between a first one ofthe plurality of average values and a second one of the plurality ofaverage values; comparing the difference value to a threshold value; anddetermining, based on the comparison, whether a user of the air mattresssystem moved.